// pages/addOne/addOne.js
const APP = getApp()
var util = require('../../utils/util')
Page({

  /**
   * 页面的初始数据
   */
  data: {
    showChooseRelation: false,

    relationType: [], //关系字典
    api: util.config().api + '/mobileUser/common/upload/',
    fileListfrontImage: [],
    fileListbackImage: [],
    fileListlawyerImage: [],
    // type: 1, //1  家属   2 律师
    //新增会见人表单
    addForm: {
      userName: '', //用户名
      phone: '', //手机号
      card: '', //身份证号
      number: '', //律师执业证号
      relation: '', //关系  字典
      type: '1', //用户类型      1 家属  2 律师
      backImage: '', //身份证背面图片
      frontImage: '', //身份证前面图片
      lawyerImage: '' //律师证
    },
    dictLabel: '',
  },
  //点击保存按钮
  save() {
    var reg = /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/;

    if (!this.data.addForm.userName) {
      wx.showToast({
        title: '请输入姓名！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.relation) {
      wx.showToast({
        title: '请选择关系！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.card) {
      wx.showToast({
        title: '输入身份证！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.phone) {
      wx.showToast({
        title: '输入手机号！',
        image: '../../assets/error.png',
      })
    } else if (this.data.addForm.phone.length != 11) {
      wx.showToast({
        title: '号码格式错误！',
        image: '../../assets/error.png',
      })
    } else if (!(this.data.addForm.card.match(reg))) {
      wx.showToast({
        title: '格式不正确！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.number && this.data.addForm.type == 2) {
      wx.showToast({
        title: '律师执业证！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.backImage) {
      wx.showToast({
        title: '身份证背面！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.frontImage) {
      wx.showToast({
        title: '身份证正面！',
        image: '../../assets/error.png',
      })
    } else if (!this.data.addForm.lawyerImage && this.data.addForm.type == 2) {
      wx.showToast({
        title: '律师证图片！',
        image: '../../assets/error.png',
      })
    } else {
      // POST/mobileUser/interviewer
      var postObj = {
        url: '/mobileUser/interviewer',
        method: 'post',
        data: this.data.addForm
      }
      APP.request.wxRequest(postObj).then(res => {
        if (res.data.code === 200) {
          wx.navigateBack()
        }
      })

    }
    // console.log(this.data.addForm);

  },
  // 删除 身份证 前面
  deleteReadfrontImage() {
    this.setData({
      fileListfrontImage: [],
      'addForm.frontImage': ''
    })
  },
  // 删除 身份证 背面
  deleteReadbackImage() {
    this.setData({
      fileListbackImage: [],
      'addForm.backImage': ''
    })
  },
  // 删除 律师证
  deleteReadlawyerImage() {
    this.setData({
      fileListlawyerImage: [],
      'addForm.lawyerImage': ''
    })
  },
  // 上传前校验
  beforeRead(event) {
    const {
      file,
      callback
    } = event.detail;
    callback(file.type === 'image');
  },
  // 上传后校验    身份证 前面
  afterReadfrontImage(event) {
    let that = this
    const {
      file
    } = event.detail;
    console.log(file);

    wx.uploadFile({
      url: that.data.api, // 仅为示例，非真实的接口地址
      filePath: file.path,
      name: 'file',
      formData: {
        user: 'test'
      },
      success(res) {
        // 上传完成需要更新 fileList
        var data = JSON.parse(res.data)
        console.log('图片上传服务器返回值', data)
        var fileList = []
        fileList.push(data)
        that.setData({
          fileListfrontImage: fileList,
          'addForm.frontImage': data.fileName
        });





      },
    });

    // 当设置 mutiple 为 true 时, file 为数组格式，否则为对象格式
    // wx.uploadFile({
    //   url: that.data.api,
    //   success(res) {
    //     const data = res
    //     console.log(res);

    //   }
    // })
  },
  // 上传后校验    身份证 背面
  afterReadbackImage(event) {
    let that = this
    const {
      file
    } = event.detail;
    console.log(file);

    wx.uploadFile({
      url: that.data.api, // 仅为示例，非真实的接口地址
      filePath: file.path,
      name: 'file',
      formData: {
        user: 'test'
      },
      success(res) {
        // 上传完成需要更新 fileList
        var data = JSON.parse(res.data)
        console.log('图片上传服务器返回值', data)
        var fileList = []
        fileList.push(data)
        that.setData({
          fileListbackImage: fileList,
          'addForm.backImage': data.fileName
        });
      },
    });
  },
  // 上传后校验    律师证
  afterReadlawyerImage(event) {
    let that = this
    const {
      file
    } = event.detail;
    console.log(file);

    wx.uploadFile({
      url: that.data.api, // 仅为示例，非真实的接口地址
      filePath: file.path,
      name: 'file',
      formData: {
        user: 'test'
      },
      success(res) {
        // 上传完成需要更新 fileList
        var data = JSON.parse(res.data)
        console.log('图片上传服务器返回值', data)
        var fileList = []
        fileList.push(data)
        that.setData({
          fileListlawyerImage: fileList,
          'addForm.lawyerImage': data.fileName
        });
      },
    });
  },
  // 点击身份类型
  clickType(e) {
    var type = e.target.dataset.type //1  家属   2 律师      0律师
    if (type == 1) {
      this.setData({
        'addForm.type': type,
        'addForm.relation': '',
        dictLabel: ''
      })
    } else if (type == 2) {
      this.setData({
        'addForm.type': type,
        'addForm.relation': '0',
        dictLabel: '律师'
      })
    }

  },
  //监听值变化
  onChange(e) {
    var formName = e.target.dataset.formname
    var name = `addForm.${formName}`;
    this.setData({
      [name]: e.detail
    })
    console.log(formName)
  },
  //关闭弹窗
  onClose() {
    this.setData({
      showChooseRelation: false
    })
  },
  //点击关系的确认
  onChooseprisonsConfirm(e) {
    // console.log(e);
    var value = e.detail.value
    this.setData({
      'addForm.relation': value.dictValue,
      dictLabel: value.dictLabel
    })
    this.onClose()
  },
  // 点击显示关系弹出框
  showRealtion() {
    this.setData({
      showChooseRelation: true
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let that = this
    // var api = util.config().api
    console.log(that.data.api);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    APP.getFrontInfo().then(res => {})
    let that = this
    console.log(that.data.api);
    // 用户关系字典   父子等
    APP.getDict('sys_relation').then(res => {
      var relationType = res.data.data
      relationType.forEach((items, i) => {
        items.text = items.dictLabel
        if (items.dictValue==0) {
          items.disabled=true
        }
      })
      console.log('用户关系字典', relationType)
      that.setData({
        relationType: relationType
      })


    })
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})